/**
 * 
 */
package br.com.beiramar.dao.rateio.impl;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;

import org.jboss.seam.annotations.Name;

import br.com.beiramar.dao.rateio.AbstractDao;
import br.com.beiramar.dao.rateio.EmpreendimentoDao;
import br.com.beiramar.entity.rateio.Corretor;
import br.com.beiramar.entity.rateio.Empreendimento;

/**
 * @author adriano.portes
 *
 */
@Name("empreendimentoDao")
public class EmpreendimentoDaoImpl extends AbstractDao implements EmpreendimentoDao{

	@Override
	public Empreendimento findEmpreendimentoCodigo(String codigo) {
		Empreendimento empreendimentoBanco = new Empreendimento();
		//Colocar SATI no select
		String sql = "select im.CODIGO, im.EMPREENDIMENTO, im.PERCENTUAL_COMISSAO, im.PERCENT_COORD_PROD, im.VLR_SATI_BEIRAMAR, im.VLR_SATI_CORRETOR," +
				" im.VLR_SATI_INCORPORADORA, im.PREMIO_DIRETOR_NG, im.PERCENTUAL_INCORPORADORA, im.PERCENTUAL_DIRETOR_NG, im.PREMIO_DIRETOR, im.PERCENTUAL_DIRETOR, im.COORDENADOR_DE_PRODUTO, im.PREMIO_VALOR, im.PREMIO_PERCENTUAL, im.PREMIO_COORD_PRODUTO,  im.PREMIO_PERCENT_COORD_PRODUTO, im.PREMIO_BEIRAMAR, im.PREMIO_PERCENT_BEIRAMAR, " +
				"im.CHEQUE_BEIRAMAR, im.CHEQUE_CONSTRUTORA, im.CHEQUE_EMP_MASTER, im.CHEQUE_CORRETOR, im.CHEQUE_DIRETOR, im.PERCENT_COORD_PROD_2, " +
				"im.CHEQUE_DIRETOR_NOVOS_NEGOCIOS, im.CHEQUE_PATROCINADOR, im.CHEQUE_COORDENADOR_DE_PRODUTO, im.SATI, " +
				"im.PREMIO_PERCENT_CORRETOR , im.SATI_INCORPORADORA2, im.NF_AUTONOMO,im.PREMIO_PERCENT_NF, im.CRECI_COORDENADOR_PRODUTO, im.OBSERVACOES_RATEIO, im.CRECI_COORDENADOR_PRODUTO2, im.PREMIO_VLR_CORRETOR, im.PREMIO_PERCENT_EMP_MASTER, im.PERCENT_NF_LIMITE, im.PREMIO_VLR_EMP_MASTER, im.ANTECIPACAO, im.COORDENADOR_PROD2, im.CHEQUENOTAFISCAL " +
				"from CADIMO im where im.CODIGO = " + codigo + ";";
		PreparedStatement stmt = null;
		try {
			stmt = getConexao().prepareStatement(sql);
			ResultSet rs;
			rs = stmt.executeQuery();
			
			while(rs.next()){ 
				empreendimentoBanco.setPercentualCommissao(rs.getDouble("PERCENTUAL_COMISSAO"));
				empreendimentoBanco.setNome(rs.getString("EMPREENDIMENTO"));
				empreendimentoBanco.setCodigo(rs.getString("CODIGO"));
				empreendimentoBanco.setPremioValor(rs.getDouble("PREMIO_VALOR"));
				empreendimentoBanco.setPremioPercentual(rs.getDouble("PREMIO_PERCENTUAL"));
				empreendimentoBanco.setChequeBeiramar(rs.getString("CHEQUE_BEIRAMAR"));
				empreendimentoBanco.setChequeContrutora(rs.getString("CHEQUE_CONSTRUTORA"));
				empreendimentoBanco.setChequeCoordenador(rs.getString("CHEQUE_EMP_MASTER"));
				empreendimentoBanco.setChequeCorretor(rs.getString("CHEQUE_CORRETOR"));
				empreendimentoBanco.setChequeDiretor(rs.getString("CHEQUE_DIRETOR"));
				empreendimentoBanco.setChequeDiretorNovosNegocios(rs.getString("CHEQUE_DIRETOR_NOVOS_NEGOCIOS"));
				empreendimentoBanco.setChequePatrocinador(rs.getString("CHEQUE_PATROCINADOR"));
				empreendimentoBanco.setChequeCoordenadorProdutos(rs.getString("im.CHEQUE_COORDENADOR_DE_PRODUTO"));
				empreendimentoBanco.setSATI(rs.getString("SATI"));
				empreendimentoBanco.setPremioPercentualCorretor(rs.getDouble("PREMIO_PERCENT_CORRETOR"));
				empreendimentoBanco.setPremioValorCorretor(rs.getDouble("PREMIO_VLR_CORRETOR"));
				empreendimentoBanco.setPremioPercenturalEmpMaster(rs.getDouble("PREMIO_PERCENT_EMP_MASTER"));
				empreendimentoBanco.setPremioValorEmpMaster(rs.getDouble("PREMIO_VLR_EMP_MASTER"));
				empreendimentoBanco.setPremioPercentualDiretor(rs.getDouble("PERCENTUAL_DIRETOR"));
				empreendimentoBanco.setPremioValorDiretor(rs.getDouble("PREMIO_DIRETOR"));
				empreendimentoBanco.setPremioPercentualDiretorNeg(rs.getDouble("PERCENTUAL_DIRETOR_NG"));
				empreendimentoBanco.setPremioValorDiretorNeg(rs.getDouble("PREMIO_DIRETOR_NG"));
				empreendimentoBanco.setPremioPercentualCoordenadorProd(rs.getDouble("PREMIO_PERCENT_COORD_PRODUTO"));
				empreendimentoBanco.setPremioValorCoordenadorProd(rs.getDouble("PREMIO_COORD_PRODUTO"));
				empreendimentoBanco.setPremioPercentualBeiramar(rs.getDouble("PREMIO_PERCENT_BEIRAMAR"));
				empreendimentoBanco.setPremioValorBeiramar(rs.getDouble("PREMIO_BEIRAMAR"));
				empreendimentoBanco.setPercentualCoordenadroProduto(rs.getDouble("PERCENT_COORD_PROD"));
				empreendimentoBanco.setPercentualCoordenadroProduto2(rs.getDouble("PERCENT_COORD_PROD_2"));
				empreendimentoBanco.setPercentualNotaConstrutora(rs.getDouble("PERCENT_NF_LIMITE"));
				empreendimentoBanco.setExisteCoordenadorProduto(rs.getString("COORDENADOR_DE_PRODUTO"));
				empreendimentoBanco.setValorSatiBeiramar(rs.getDouble("VLR_SATI_BEIRAMAR"));
				empreendimentoBanco.setValorSatiCorretor(rs.getDouble("VLR_SATI_CORRETOR"));
				empreendimentoBanco.setValorSatiIncorporadora(rs.getDouble("VLR_SATI_INCORPORADORA"));
				empreendimentoBanco.setPercentualSegundaConstrutora(rs.getDouble("PERCENTUAL_INCORPORADORA"));
				empreendimentoBanco.setSATIIncorporadoraSinal(rs.getString("SATI_INCORPORADORA2"));
				empreendimentoBanco.setAntecipacao(rs.getString("ANTECIPACAO"));
				empreendimentoBanco.setExisteSegundoCoordenadorProd(rs.getString("COORDENADOR_PROD2"));
				empreendimentoBanco.setChequeNotaFiscalConstrutora(rs.getString("CHEQUENOTAFISCAL"));
				empreendimentoBanco.setCoordenadorProd(new Corretor());
				empreendimentoBanco.getCoordenadorProd().setCreci(rs.getString("CRECI_COORDENADOR_PRODUTO"));
				empreendimentoBanco.setCoordenadorProd2(new Corretor());
				empreendimentoBanco.getCoordenadorProd2().setCreci(rs.getString("CRECI_COORDENADOR_PRODUTO2"));
				empreendimentoBanco.setObs(rs.getString("OBSERVACOES_RATEIO"));
				empreendimentoBanco.setPremioNotaFiscal(rs.getDouble("PREMIO_PERCENT_NF"));
				empreendimentoBanco.setNotaAutonomos(rs.getString("NF_AUTONOMO"));
			} 
		} catch (SQLException e) {
			e.printStackTrace();
		} 
		return empreendimentoBanco;
	}
	
	@Override
	public List<Empreendimento> findAll() {
		List<Empreendimento> listaEmpreendimento = new ArrayList<Empreendimento>();
		String sql = "select EMPREENDIMENTO, CODIGO, PREMIO_PERCENTUAL, PERCENTUAL_COMISSAO from CADIMO where RATEIO = 'Sim' and STATUS = 'VENDA' order by EMPREENDIMENTO ;"; 
		PreparedStatement stmt = null;
		try {
			stmt = getConexao().prepareStatement(sql);
			ResultSet rs;
			rs = stmt.executeQuery();
		
			while(rs.next()){ 
				Empreendimento empreendimentoBanco = new Empreendimento();
				empreendimentoBanco.setNome(rs.getString("EMPREENDIMENTO"));
				empreendimentoBanco.setCodigo(rs.getString("CODIGO"));
				empreendimentoBanco.setPremioPercentual(rs.getDouble("PREMIO_PERCENTUAL"));
				empreendimentoBanco.setPercentualCommissao(rs.getDouble("PERCENTUAL_COMISSAO"));
				
				
				
				listaEmpreendimento.add(empreendimentoBanco);
			} 
		} catch (SQLException e) {
			e.printStackTrace();
		} 
		return listaEmpreendimento;
	}
}
